The basic timing requirements for operation of a high-speed printer controlled by a permutation code input signal, such as the standard seven and one-half unit Baudot code or the American Standard Code for Information Interchange (ASCII), are established by the received signal. In a column-sequential dot matrix printer, in which each character is reproduced in a series of sequentially printed columns of dots, with the print head advancing one step for each column, timing of the printer operations can be extremely critical. Each code word, as received, must be translated into a form usable in control of the printer, and the translated information must be presented to the printer with precise timing and at a speed sufficient to permit miltiple functions of the printer mechanism, particularly the sequential step movements of the print head, in each cycle of operation. Conventional print timing controls have not been notably efficient, as applied to column-sequential dot matrix printers, leading to continuing difficulties in maintaining accurate and complete reproduction of all characters.
These timing difficulties are accentuated in connection with non-print functions of the printer; otherwise, errors of substantial magnitude can result. Thus, overprinting, distorted characters, erroneous characters and other errors may result from discrepancies in timing or in code recognition.
In a printer operated at moderate speeds, of the order of five to ten characters per second, carriage return and line feed operations can be accommodated by storing one or more code words during the time intervals required for these operations. To avoid loss of characters or other data, the printing rate is increased somewhat. This results in some "dead" time in each character-printing cycle, whenever the storage register has been cleared, which presents no particular operational problems at low speeds.
If the printer speed is materially increased, however, a number of problems are encountered. At higher speeds, one or more characters may be lost during a carriage return operation if the printer does not print rapidly enough to empty the storage register in time to accept further input data. This problem can be partly alleviated by increasing the input storage capacity, but it becomes necessary to print each character faster than received. As a consequence, whenever the input register is cleared the printer operates with a carriage motion that prints one character, waits for the next character, prints the next character, and so on. The resulting "dead" time in each character printing cycle produces a start-stop motion which is intolerable at high printing speeds because the natural resonance of the carriage and associated components is approached, causing severe vibration and bouncing of the carriage. The overall result is often an unacceptable reduction in quality of the printed copy. Other mechanical problems are encountered, particularly in accelerating the printer to full speed, as at the end of a carriage return or following an appreciable interruption in incoming data.
For moderate print rates, a two-speed print rate control can be effective; a normal speed matched to the rate of incoming data is used whenever there is only one code word in the input register and a higher speed is employed when two or more code words are available in the register. Two quite different systems of this general kind are disclosed in the aforementioned Fulton application, Ser. No. 349,438, and in Kritz et al U.S. Pat. No. 3,761,880.
For higher speed operations, particularly at printing rates of the order of twenty-five, thirty, or more characters per second, some substantial difficulties are presented even with a well-designed dual-rate print control. Thus, substantial character distortion may yet be experienced, due to the extremely rapid accelerations required and the unavoidable inertia and elasticity of the printer carriage drive mechanism. This is particularly true whenever the printing mechanism starts from rest, whether at the end of a carriage return operation, or following an interruption in transmission, or upon the occurrence of one or more nonprint functions in operation of the printer.